<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>当前连续错误最大数</title>
    <script src="lodash.min.js"></script>
    <script src="../helpers/bing.js"></script>
  </head>
  <body>
    <script>
      // function countTrailingZeros(array) {
      //   let count = 0;
      //   for (let i = array.length - 1; i >= 0; i--) {
      //     if (array[i] === 0) {
      //       count++;
      //     } else {
      //       break;
      //     }
      //   }
      //   return count;
      // }
      function countTrailingZeros(array) {
        // 反转数组，创建一个新的副本，避免修改原数组
        const reversed = _.reverse([...array]);

        // 从反转后的数组开始，取连续为 0 的元素
        const trailingZeros = _.takeWhile(reversed, (n) => n === 0);

        // 返回连续 0 的数量
        return trailingZeros.length;
      }

      const data = [
        {
          groupName: "SIXTEEN_RANGE_00006000_GROUPS",
          groupType: "sixteen",
          accuracy_array: [1, 0, 1, 0, 1, 1],
        },
        {
          groupName: "FOUR_RANGE_00005000_GROUPS",
          groupType: "four",
          accuracy_array: [1, 1, 1, 1, 0, 0],
        },
      ];

      // 获取每个 `accuracy_array` 尾部连续0的数量
      // data.forEach((item) => {
      //   const count = countTrailingZeros(item.accuracy_array);
      //   console.log(`${item.groupName} has ${count} trailing zeros.`);
      // });
    </script>

    <script>
      // 使用自定义函数通过 value / weight 来找到最大值
      // const maxValueObject = _.maxBy(data, (item) => countTrailingZeros(item.accuracy_array));
      // console.log(maxValueObject); // 输出: 符合条件的对象

      // 使用 _.max 获取 trailing zeros 的最大值
      const maxValue = _.max(
        data.map((item) => countTrailingZeros(item.accuracy_array))
      );

      console.log(maxValue); // 输出最大 trailing zeros 数量
    </script>
  </body>
</html>
